package org.gr.ias.common.entity;

import java.io.Serializable;
import java.math.BigDecimal;

public class ProjectFinancingExtFinancial implements Serializable {
    /** 主键*/
    private String id;

    /** 对应融资信息ID*/
    private String projectFinancingId;

    /** 产品类型*/
    private String productType;

    /** 风险偏好*/
    private String riskAppetite;

    /** 投资门槛*/
    private BigDecimal investmentThreshold;

    /** 投资门槛单位*/
    private String investmentThresholdUnit;

    /** 投资期限*/
    private Integer investmentPeriod;

    /** 投资期限单位*/
    private String investmentPeriodUnit;

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getProjectFinancingId() {
        return projectFinancingId;
    }

    public void setProjectFinancingId(String projectFinancingId) {
        this.projectFinancingId = projectFinancingId == null ? null : projectFinancingId.trim();
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType == null ? null : productType.trim();
    }

    public String getRiskAppetite() {
        return riskAppetite;
    }

    public void setRiskAppetite(String riskAppetite) {
        this.riskAppetite = riskAppetite == null ? null : riskAppetite.trim();
    }

    public BigDecimal getInvestmentThreshold() {
        return investmentThreshold;
    }

    public void setInvestmentThreshold(BigDecimal investmentThreshold) {
        this.investmentThreshold = investmentThreshold;
    }

    public String getInvestmentThresholdUnit() {
        return investmentThresholdUnit;
    }

    public void setInvestmentThresholdUnit(String investmentThresholdUnit) {
        this.investmentThresholdUnit = investmentThresholdUnit == null ? null : investmentThresholdUnit.trim();
    }

    public Integer getInvestmentPeriod() {
        return investmentPeriod;
    }

    public void setInvestmentPeriod(Integer investmentPeriod) {
        this.investmentPeriod = investmentPeriod;
    }

    public String getInvestmentPeriodUnit() {
        return investmentPeriodUnit;
    }

    public void setInvestmentPeriodUnit(String investmentPeriodUnit) {
        this.investmentPeriodUnit = investmentPeriodUnit == null ? null : investmentPeriodUnit.trim();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ProjectFinancingExtFinancial other = (ProjectFinancingExtFinancial) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getProjectFinancingId() == null ? other.getProjectFinancingId() == null : this.getProjectFinancingId().equals(other.getProjectFinancingId()))
            && (this.getProductType() == null ? other.getProductType() == null : this.getProductType().equals(other.getProductType()))
            && (this.getRiskAppetite() == null ? other.getRiskAppetite() == null : this.getRiskAppetite().equals(other.getRiskAppetite()))
            && (this.getInvestmentThreshold() == null ? other.getInvestmentThreshold() == null : this.getInvestmentThreshold().equals(other.getInvestmentThreshold()))
            && (this.getInvestmentThresholdUnit() == null ? other.getInvestmentThresholdUnit() == null : this.getInvestmentThresholdUnit().equals(other.getInvestmentThresholdUnit()))
            && (this.getInvestmentPeriod() == null ? other.getInvestmentPeriod() == null : this.getInvestmentPeriod().equals(other.getInvestmentPeriod()))
            && (this.getInvestmentPeriodUnit() == null ? other.getInvestmentPeriodUnit() == null : this.getInvestmentPeriodUnit().equals(other.getInvestmentPeriodUnit()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getProjectFinancingId() == null) ? 0 : getProjectFinancingId().hashCode());
        result = prime * result + ((getProductType() == null) ? 0 : getProductType().hashCode());
        result = prime * result + ((getRiskAppetite() == null) ? 0 : getRiskAppetite().hashCode());
        result = prime * result + ((getInvestmentThreshold() == null) ? 0 : getInvestmentThreshold().hashCode());
        result = prime * result + ((getInvestmentThresholdUnit() == null) ? 0 : getInvestmentThresholdUnit().hashCode());
        result = prime * result + ((getInvestmentPeriod() == null) ? 0 : getInvestmentPeriod().hashCode());
        result = prime * result + ((getInvestmentPeriodUnit() == null) ? 0 : getInvestmentPeriodUnit().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", projectFinancingId=").append(projectFinancingId);
        sb.append(", productType=").append(productType);
        sb.append(", riskAppetite=").append(riskAppetite);
        sb.append(", investmentThreshold=").append(investmentThreshold);
        sb.append(", investmentThresholdUnit=").append(investmentThresholdUnit);
        sb.append(", investmentPeriod=").append(investmentPeriod);
        sb.append(", investmentPeriodUnit=").append(investmentPeriodUnit);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}